// Copyright (c) 2010-2014 SharpDX - Alexandre Mutel
// 
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// 
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
// 
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.

//------------------------------------------------------------------------------
// <auto-generated>
//     Types declaration for CorApi.Portable namespace.
//     This code was generated by a tool.
//     Date : 11/05/2017 11:23:36
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Runtime.InteropServices;
using System.Security;
#if true
namespace CorApi.Portable {

#pragma warning disable 282
#pragma warning disable 649
#pragma warning disable 419
#pragma warning disable 1587
#pragma warning disable 1574
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='ASSEMBLYMETADATA']/*"/>	
    /// <unmanaged>ASSEMBLYMETADATA</unmanaged>	
    /// <unmanaged-short>ASSEMBLYMETADATA</unmanaged-short>	
    public  partial struct Assemblymetadata {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='ASSEMBLYMETADATA::usMajorVersion']/*"/>	
        /// <unmanaged>unsigned short usMajorVersion</unmanaged>	
        /// <unmanaged-short>unsigned short usMajorVersion</unmanaged-short>	
        public short UsMajorVersion;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='ASSEMBLYMETADATA::usMinorVersion']/*"/>	
        /// <unmanaged>unsigned short usMinorVersion</unmanaged>	
        /// <unmanaged-short>unsigned short usMinorVersion</unmanaged-short>	
        public short UsMinorVersion;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='ASSEMBLYMETADATA::usBuildNumber']/*"/>	
        /// <unmanaged>unsigned short usBuildNumber</unmanaged>	
        /// <unmanaged-short>unsigned short usBuildNumber</unmanaged-short>	
        public short UsBuildNumber;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='ASSEMBLYMETADATA::usRevisionNumber']/*"/>	
        /// <unmanaged>unsigned short usRevisionNumber</unmanaged>	
        /// <unmanaged-short>unsigned short usRevisionNumber</unmanaged-short>	
        public short UsRevisionNumber;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='ASSEMBLYMETADATA::szLocale']/*"/>	
        /// <unmanaged>wchar_t* szLocale</unmanaged>	
        /// <unmanaged-short>wchar_t szLocale</unmanaged-short>	
        public string SzLocale;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='ASSEMBLYMETADATA::cbLocale']/*"/>	
        /// <unmanaged>unsigned int cbLocale</unmanaged>	
        /// <unmanaged-short>unsigned int cbLocale</unmanaged-short>	
        public int CbLocale;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='ASSEMBLYMETADATA::rProcessor']/*"/>	
        /// <unmanaged>unsigned int* rProcessor</unmanaged>	
        /// <unmanaged-short>unsigned int rProcessor</unmanaged-short>	
        public System.IntPtr RProcessor;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='ASSEMBLYMETADATA::ulProcessor']/*"/>	
        /// <unmanaged>unsigned int ulProcessor</unmanaged>	
        /// <unmanaged-short>unsigned int ulProcessor</unmanaged-short>	
        public int UlProcessor;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='ASSEMBLYMETADATA::rOS']/*"/>	
        /// <unmanaged>OSINFO* rOS</unmanaged>	
        /// <unmanaged-short>OSINFO rOS</unmanaged-short>	
        public System.IntPtr ROS;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='ASSEMBLYMETADATA::ulOS']/*"/>	
        /// <unmanaged>unsigned int ulOS</unmanaged>	
        /// <unmanaged-short>unsigned int ulOS</unmanaged-short>	
        public int UlOS;

        // Internal native struct used for marshalling
        [StructLayout(LayoutKind.Sequential)]
        internal partial struct __Native {	
            public short UsMajorVersion;
            public short UsMinorVersion;
            public short UsBuildNumber;
            public short UsRevisionNumber;
            public System.IntPtr SzLocale;
            public int CbLocale;
            public System.IntPtr RProcessor;
            public int UlProcessor;
            public System.IntPtr ROS;
            public int UlOS;
		    // Method to free unmanaged allocation
            internal unsafe void __MarshalFree()
            {   
                if (this.SzLocale != IntPtr.Zero)
                    Marshal.FreeHGlobal(this.SzLocale);		
            }
        }
		
		// Method to free unmanaged allocation
        internal unsafe void __MarshalFree(ref __Native @ref)
        {   
            @ref.__MarshalFree();
        }
		
		// Method to marshal from native to managed struct
        internal unsafe void __MarshalFrom(ref __Native @ref)
        {            
            this.UsMajorVersion = @ref.UsMajorVersion;
            this.UsMinorVersion = @ref.UsMinorVersion;
            this.UsBuildNumber = @ref.UsBuildNumber;
            this.UsRevisionNumber = @ref.UsRevisionNumber;
            this.SzLocale = ( @ref.SzLocale == IntPtr.Zero )?null:Marshal.PtrToStringUni(@ref.SzLocale);
            this.CbLocale = @ref.CbLocale;
            this.RProcessor = @ref.RProcessor;
            this.UlProcessor = @ref.UlProcessor;
            this.ROS = @ref.ROS;
            this.UlOS = @ref.UlOS;
        }
        // Method to marshal from managed struct tot native
        internal unsafe void __MarshalTo(ref __Native @ref)
        {
            @ref.UsMajorVersion = this.UsMajorVersion;
            @ref.UsMinorVersion = this.UsMinorVersion;
            @ref.UsBuildNumber = this.UsBuildNumber;
            @ref.UsRevisionNumber = this.UsRevisionNumber;
            @ref.SzLocale = ( this.SzLocale == null )?IntPtr.Zero : Utilities.StringToHGlobalUni(this.SzLocale);
            @ref.CbLocale = this.CbLocale;
            @ref.RProcessor = this.RProcessor;
            @ref.UlProcessor = this.UlProcessor;
            @ref.ROS = this.ROS;
            @ref.UlOS = this.UlOS;
		
		}
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CeeSectionRelocExtra']/*"/>	
    /// <unmanaged>CeeSectionRelocExtra</unmanaged>	
    /// <unmanaged-short>CeeSectionRelocExtra</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CeeSectionRelocExtra {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CeeSectionRelocExtra::highAdj']/*"/>	
        /// <unmanaged>unsigned short highAdj</unmanaged>	
        /// <unmanaged-short>unsigned short highAdj</unmanaged-short>	
        public short HighAdj;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CodeChunkInfo']/*"/>	
    /// <unmanaged>CodeChunkInfo</unmanaged>	
    /// <unmanaged-short>CodeChunkInfo</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CodeChunkInfo {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CodeChunkInfo::startAddr']/*"/>	
        /// <unmanaged>unsigned longlong startAddr</unmanaged>	
        /// <unmanaged-short>unsigned longlong startAddr</unmanaged-short>	
        public long StartAddr;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CodeChunkInfo::length']/*"/>	
        /// <unmanaged>unsigned int length</unmanaged>	
        /// <unmanaged-short>unsigned int length</unmanaged-short>	
        public int Length;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_ACTIVE_FUNCTION']/*"/>	
    /// <unmanaged>COR_ACTIVE_FUNCTION</unmanaged>	
    /// <unmanaged-short>COR_ACTIVE_FUNCTION</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorActiveFunction {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_ACTIVE_FUNCTION::pAppDomain']/*"/>	
        /// <unmanaged>ICorDebugAppDomain* pAppDomain</unmanaged>	
        /// <unmanaged-short>ICorDebugAppDomain pAppDomain</unmanaged-short>	
        public System.IntPtr PAppDomain;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_ACTIVE_FUNCTION::pModule']/*"/>	
        /// <unmanaged>ICorDebugModule* pModule</unmanaged>	
        /// <unmanaged-short>ICorDebugModule pModule</unmanaged-short>	
        public System.IntPtr PModule;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_ACTIVE_FUNCTION::pFunction']/*"/>	
        /// <unmanaged>ICorDebugFunction2* pFunction</unmanaged>	
        /// <unmanaged-short>ICorDebugFunction2 pFunction</unmanaged-short>	
        public System.IntPtr PFunction;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_ACTIVE_FUNCTION::ilOffset']/*"/>	
        /// <unmanaged>unsigned int ilOffset</unmanaged>	
        /// <unmanaged-short>unsigned int ilOffset</unmanaged-short>	
        public int IlOffset;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_ACTIVE_FUNCTION::flags']/*"/>	
        /// <unmanaged>unsigned int flags</unmanaged>	
        /// <unmanaged-short>unsigned int flags</unmanaged-short>	
        public int Flags;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_ARRAY_LAYOUT']/*"/>	
    /// <unmanaged>COR_ARRAY_LAYOUT</unmanaged>	
    /// <unmanaged-short>COR_ARRAY_LAYOUT</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorArrayLayout {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_ARRAY_LAYOUT::componentID']/*"/>	
        /// <unmanaged>COR_TYPEID componentID</unmanaged>	
        /// <unmanaged-short>COR_TYPEID componentID</unmanaged-short>	
        public CorApi.Portable.CorTypeid ComponentID;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_ARRAY_LAYOUT::componentType']/*"/>	
        /// <unmanaged>CorElementType componentType</unmanaged>	
        /// <unmanaged-short>CorElementType componentType</unmanaged-short>	
        public CorApi.Portable.CorElementType ComponentType;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_ARRAY_LAYOUT::firstElementOffset']/*"/>	
        /// <unmanaged>unsigned int firstElementOffset</unmanaged>	
        /// <unmanaged-short>unsigned int firstElementOffset</unmanaged-short>	
        public int FirstElementOffset;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_ARRAY_LAYOUT::elementSize']/*"/>	
        /// <unmanaged>unsigned int elementSize</unmanaged>	
        /// <unmanaged-short>unsigned int elementSize</unmanaged-short>	
        public int ElementSize;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_ARRAY_LAYOUT::countOffset']/*"/>	
        /// <unmanaged>unsigned int countOffset</unmanaged>	
        /// <unmanaged-short>unsigned int countOffset</unmanaged-short>	
        public int CountOffset;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_ARRAY_LAYOUT::rankSize']/*"/>	
        /// <unmanaged>unsigned int rankSize</unmanaged>	
        /// <unmanaged-short>unsigned int rankSize</unmanaged-short>	
        public int RankSize;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_ARRAY_LAYOUT::numRanks']/*"/>	
        /// <unmanaged>unsigned int numRanks</unmanaged>	
        /// <unmanaged-short>unsigned int numRanks</unmanaged-short>	
        public int NumRanks;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_ARRAY_LAYOUT::rankOffset']/*"/>	
        /// <unmanaged>unsigned int rankOffset</unmanaged>	
        /// <unmanaged-short>unsigned int rankOffset</unmanaged-short>	
        public int RankOffset;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugBlockingObject']/*"/>	
    /// <unmanaged>CorDebugBlockingObject</unmanaged>	
    /// <unmanaged-short>CorDebugBlockingObject</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorDebugBlockingObject {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugBlockingObject::pBlockingObject']/*"/>	
        /// <unmanaged>ICorDebugValue* pBlockingObject</unmanaged>	
        /// <unmanaged-short>ICorDebugValue pBlockingObject</unmanaged-short>	
        public System.IntPtr PBlockingObject;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugBlockingObject::dwTimeout']/*"/>	
        /// <unmanaged>unsigned int dwTimeout</unmanaged>	
        /// <unmanaged-short>unsigned int dwTimeout</unmanaged-short>	
        public int DwTimeout;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugBlockingObject::blockingReason']/*"/>	
        /// <unmanaged>CorDebugBlockingReason blockingReason</unmanaged>	
        /// <unmanaged-short>CorDebugBlockingReason blockingReason</unmanaged-short>	
        public CorApi.Portable.CorDebugBlockingReason BlockingReason;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugEHClause']/*"/>	
    /// <unmanaged>CorDebugEHClause</unmanaged>	
    /// <unmanaged-short>CorDebugEHClause</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorDebugEHClause {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugEHClause::Flags']/*"/>	
        /// <unmanaged>unsigned int Flags</unmanaged>	
        /// <unmanaged-short>unsigned int Flags</unmanaged-short>	
        public int Flags;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugEHClause::TryOffset']/*"/>	
        /// <unmanaged>unsigned int TryOffset</unmanaged>	
        /// <unmanaged-short>unsigned int TryOffset</unmanaged-short>	
        public int TryOffset;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugEHClause::TryLength']/*"/>	
        /// <unmanaged>unsigned int TryLength</unmanaged>	
        /// <unmanaged-short>unsigned int TryLength</unmanaged-short>	
        public int TryLength;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugEHClause::HandlerOffset']/*"/>	
        /// <unmanaged>unsigned int HandlerOffset</unmanaged>	
        /// <unmanaged-short>unsigned int HandlerOffset</unmanaged-short>	
        public int HandlerOffset;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugEHClause::HandlerLength']/*"/>	
        /// <unmanaged>unsigned int HandlerLength</unmanaged>	
        /// <unmanaged-short>unsigned int HandlerLength</unmanaged-short>	
        public int HandlerLength;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugEHClause::ClassToken']/*"/>	
        /// <unmanaged>unsigned int ClassToken</unmanaged>	
        /// <unmanaged-short>unsigned int ClassToken</unmanaged-short>	
        public int ClassToken;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugEHClause::FilterOffset']/*"/>	
        /// <unmanaged>unsigned int FilterOffset</unmanaged>	
        /// <unmanaged-short>unsigned int FilterOffset</unmanaged-short>	
        public int FilterOffset;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugExceptionObjectStackFrame']/*"/>	
    /// <unmanaged>CorDebugExceptionObjectStackFrame</unmanaged>	
    /// <unmanaged-short>CorDebugExceptionObjectStackFrame</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorDebugExceptionObjectStackFrame {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugExceptionObjectStackFrame::pModule']/*"/>	
        /// <unmanaged>ICorDebugModule* pModule</unmanaged>	
        /// <unmanaged-short>ICorDebugModule pModule</unmanaged-short>	
        public System.IntPtr PModule;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugExceptionObjectStackFrame::ip']/*"/>	
        /// <unmanaged>unsigned longlong ip</unmanaged>	
        /// <unmanaged-short>unsigned longlong ip</unmanaged-short>	
        public long Ip;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugExceptionObjectStackFrame::methodDef']/*"/>	
        /// <unmanaged>unsigned int methodDef</unmanaged>	
        /// <unmanaged-short>unsigned int methodDef</unmanaged-short>	
        public int MethodDef;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugExceptionObjectStackFrame::isLastForeignExceptionFrame']/*"/>	
        /// <unmanaged>BOOL isLastForeignExceptionFrame</unmanaged>	
        /// <unmanaged-short>BOOL isLastForeignExceptionFrame</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool IsLastForeignExceptionFrame;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugGuidToTypeMapping']/*"/>	
    /// <unmanaged>CorDebugGuidToTypeMapping</unmanaged>	
    /// <unmanaged-short>CorDebugGuidToTypeMapping</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorDebugGuidToTypeMapping {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugGuidToTypeMapping::iid']/*"/>	
        /// <unmanaged>GUID iid</unmanaged>	
        /// <unmanaged-short>GUID iid</unmanaged-short>	
        public System.Guid Iid;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CorDebugGuidToTypeMapping::pType']/*"/>	
        /// <unmanaged>ICorDebugType* pType</unmanaged>	
        /// <unmanaged-short>ICorDebugType pType</unmanaged-short>	
        public System.IntPtr PType;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_DEBUG_IL_TO_NATIVE_MAP']/*"/>	
    /// <unmanaged>COR_DEBUG_IL_TO_NATIVE_MAP</unmanaged>	
    /// <unmanaged-short>COR_DEBUG_IL_TO_NATIVE_MAP</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorDebugIlToNativeMap {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_DEBUG_IL_TO_NATIVE_MAP::ilOffset']/*"/>	
        /// <unmanaged>unsigned int ilOffset</unmanaged>	
        /// <unmanaged-short>unsigned int ilOffset</unmanaged-short>	
        public int IlOffset;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_DEBUG_IL_TO_NATIVE_MAP::nativeStartOffset']/*"/>	
        /// <unmanaged>unsigned int nativeStartOffset</unmanaged>	
        /// <unmanaged-short>unsigned int nativeStartOffset</unmanaged-short>	
        public int NativeStartOffset;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_DEBUG_IL_TO_NATIVE_MAP::nativeEndOffset']/*"/>	
        /// <unmanaged>unsigned int nativeEndOffset</unmanaged>	
        /// <unmanaged-short>unsigned int nativeEndOffset</unmanaged-short>	
        public int NativeEndOffset;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_DEBUG_STEP_RANGE']/*"/>	
    /// <unmanaged>COR_DEBUG_STEP_RANGE</unmanaged>	
    /// <unmanaged-short>COR_DEBUG_STEP_RANGE</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorDebugStepRange {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_DEBUG_STEP_RANGE::startOffset']/*"/>	
        /// <unmanaged>unsigned int startOffset</unmanaged>	
        /// <unmanaged-short>unsigned int startOffset</unmanaged-short>	
        public int StartOffset;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_DEBUG_STEP_RANGE::endOffset']/*"/>	
        /// <unmanaged>unsigned int endOffset</unmanaged>	
        /// <unmanaged-short>unsigned int endOffset</unmanaged-short>	
        public int EndOffset;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_FIELD']/*"/>	
    /// <unmanaged>COR_FIELD</unmanaged>	
    /// <unmanaged-short>COR_FIELD</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorField {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_FIELD::token']/*"/>	
        /// <unmanaged>unsigned int token</unmanaged>	
        /// <unmanaged-short>unsigned int token</unmanaged-short>	
        public int Token;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_FIELD::offset']/*"/>	
        /// <unmanaged>unsigned int offset</unmanaged>	
        /// <unmanaged-short>unsigned int offset</unmanaged-short>	
        public int Offset;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_FIELD::id']/*"/>	
        /// <unmanaged>COR_TYPEID id</unmanaged>	
        /// <unmanaged-short>COR_TYPEID id</unmanaged-short>	
        public CorApi.Portable.CorTypeid Id;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_FIELD::fieldType']/*"/>	
        /// <unmanaged>CorElementType fieldType</unmanaged>	
        /// <unmanaged-short>CorElementType fieldType</unmanaged-short>	
        public CorApi.Portable.CorElementType FieldType;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_FIELD_OFFSET']/*"/>	
    /// <unmanaged>COR_FIELD_OFFSET</unmanaged>	
    /// <unmanaged-short>COR_FIELD_OFFSET</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorFieldOffset {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_FIELD_OFFSET::ridOfField']/*"/>	
        /// <unmanaged>unsigned int ridOfField</unmanaged>	
        /// <unmanaged-short>unsigned int ridOfField</unmanaged-short>	
        public int RidOfField;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_FIELD_OFFSET::ulOffset']/*"/>	
        /// <unmanaged>unsigned int ulOffset</unmanaged>	
        /// <unmanaged-short>unsigned int ulOffset</unmanaged-short>	
        public int UlOffset;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_GC_REFERENCE']/*"/>	
    /// <unmanaged>COR_GC_REFERENCE</unmanaged>	
    /// <unmanaged-short>COR_GC_REFERENCE</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorGcReference {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_GC_REFERENCE::Domain']/*"/>	
        /// <unmanaged>ICorDebugAppDomain* Domain</unmanaged>	
        /// <unmanaged-short>ICorDebugAppDomain Domain</unmanaged-short>	
        public System.IntPtr Domain;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_GC_REFERENCE::Location']/*"/>	
        /// <unmanaged>ICorDebugValue* Location</unmanaged>	
        /// <unmanaged-short>ICorDebugValue Location</unmanaged-short>	
        public System.IntPtr Location;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_GC_REFERENCE::Type']/*"/>	
        /// <unmanaged>CorGCReferenceType Type</unmanaged>	
        /// <unmanaged-short>CorGCReferenceType Type</unmanaged-short>	
        public CorApi.Portable.CorGCReferenceType Type;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_GC_REFERENCE::ExtraData']/*"/>	
        /// <unmanaged>unsigned longlong ExtraData</unmanaged>	
        /// <unmanaged-short>unsigned longlong ExtraData</unmanaged-short>	
        public long ExtraData;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_HEAPINFO']/*"/>	
    /// <unmanaged>COR_HEAPINFO</unmanaged>	
    /// <unmanaged-short>COR_HEAPINFO</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorHeapinfo {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_HEAPINFO::areGCStructuresValid']/*"/>	
        /// <unmanaged>BOOL areGCStructuresValid</unmanaged>	
        /// <unmanaged-short>BOOL areGCStructuresValid</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool AreGCStructuresValid;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_HEAPINFO::pointerSize']/*"/>	
        /// <unmanaged>unsigned int pointerSize</unmanaged>	
        /// <unmanaged-short>unsigned int pointerSize</unmanaged-short>	
        public int PointerSize;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_HEAPINFO::numHeaps']/*"/>	
        /// <unmanaged>unsigned int numHeaps</unmanaged>	
        /// <unmanaged-short>unsigned int numHeaps</unmanaged-short>	
        public int NumHeaps;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_HEAPINFO::concurrent']/*"/>	
        /// <unmanaged>BOOL concurrent</unmanaged>	
        /// <unmanaged-short>BOOL concurrent</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool Concurrent;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_HEAPINFO::gcType']/*"/>	
        /// <unmanaged>CorDebugGCType gcType</unmanaged>	
        /// <unmanaged-short>CorDebugGCType gcType</unmanaged-short>	
        public CorApi.Portable.CorDebugGCType GcType;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_HEAPOBJECT']/*"/>	
    /// <unmanaged>COR_HEAPOBJECT</unmanaged>	
    /// <unmanaged-short>COR_HEAPOBJECT</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorHeapobject {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_HEAPOBJECT::address']/*"/>	
        /// <unmanaged>unsigned longlong address</unmanaged>	
        /// <unmanaged-short>unsigned longlong address</unmanaged-short>	
        public long Address;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_HEAPOBJECT::size']/*"/>	
        /// <unmanaged>unsigned longlong size</unmanaged>	
        /// <unmanaged-short>unsigned longlong size</unmanaged-short>	
        public long Size;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_HEAPOBJECT::type']/*"/>	
        /// <unmanaged>COR_TYPEID type</unmanaged>	
        /// <unmanaged-short>COR_TYPEID type</unmanaged-short>	
        public CorApi.Portable.CorTypeid Type;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_IL_MAP']/*"/>	
    /// <unmanaged>COR_IL_MAP</unmanaged>	
    /// <unmanaged-short>COR_IL_MAP</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorIlMap {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_IL_MAP::oldOffset']/*"/>	
        /// <unmanaged>unsigned int oldOffset</unmanaged>	
        /// <unmanaged-short>unsigned int oldOffset</unmanaged-short>	
        public int OldOffset;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_IL_MAP::newOffset']/*"/>	
        /// <unmanaged>unsigned int newOffset</unmanaged>	
        /// <unmanaged-short>unsigned int newOffset</unmanaged-short>	
        public int NewOffset;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_IL_MAP::fAccurate']/*"/>	
        /// <unmanaged>BOOL fAccurate</unmanaged>	
        /// <unmanaged-short>BOOL fAccurate</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool FAccurate;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_NATIVE_LINK']/*"/>	
    /// <unmanaged>COR_NATIVE_LINK</unmanaged>	
    /// <unmanaged-short>COR_NATIVE_LINK</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorNativeLink {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_NATIVE_LINK::m_linkType']/*"/>	
        /// <unmanaged>unsigned char m_linkType</unmanaged>	
        /// <unmanaged-short>unsigned char m_linkType</unmanaged-short>	
        public byte MLinkType;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_NATIVE_LINK::m_flags']/*"/>	
        /// <unmanaged>unsigned char m_flags</unmanaged>	
        /// <unmanaged-short>unsigned char m_flags</unmanaged-short>	
        public byte MFlags;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_NATIVE_LINK::m_entryPoint']/*"/>	
        /// <unmanaged>unsigned int m_entryPoint</unmanaged>	
        /// <unmanaged-short>unsigned int m_entryPoint</unmanaged-short>	
        public int MEntryPoint;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_SECATTR']/*"/>	
    /// <unmanaged>COR_SECATTR</unmanaged>	
    /// <unmanaged-short>COR_SECATTR</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorSecattr {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_SECATTR::tkCtor']/*"/>	
        /// <unmanaged>unsigned int tkCtor</unmanaged>	
        /// <unmanaged-short>unsigned int tkCtor</unmanaged-short>	
        public int TkCtor;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_SECATTR::pCustomAttribute']/*"/>	
        /// <unmanaged>const void* pCustomAttribute</unmanaged>	
        /// <unmanaged-short>void pCustomAttribute</unmanaged-short>	
        public System.IntPtr PCustomAttribute;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_SECATTR::cbCustomAttribute']/*"/>	
        /// <unmanaged>unsigned int cbCustomAttribute</unmanaged>	
        /// <unmanaged-short>unsigned int cbCustomAttribute</unmanaged-short>	
        public int CbCustomAttribute;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_SEGMENT']/*"/>	
    /// <unmanaged>COR_SEGMENT</unmanaged>	
    /// <unmanaged-short>COR_SEGMENT</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorSegment {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_SEGMENT::start']/*"/>	
        /// <unmanaged>unsigned longlong start</unmanaged>	
        /// <unmanaged-short>unsigned longlong start</unmanaged-short>	
        public long Start;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_SEGMENT::end']/*"/>	
        /// <unmanaged>unsigned longlong end</unmanaged>	
        /// <unmanaged-short>unsigned longlong end</unmanaged-short>	
        public long End;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_SEGMENT::type']/*"/>	
        /// <unmanaged>CorDebugGenerationTypes type</unmanaged>	
        /// <unmanaged-short>CorDebugGenerationTypes type</unmanaged-short>	
        public CorApi.Portable.CorDebugGenerationTypes Type;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_SEGMENT::heap']/*"/>	
        /// <unmanaged>unsigned int heap</unmanaged>	
        /// <unmanaged-short>unsigned int heap</unmanaged-short>	
        public int Heap;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_TYPEID']/*"/>	
    /// <unmanaged>COR_TYPEID</unmanaged>	
    /// <unmanaged-short>COR_TYPEID</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorTypeid {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_TYPEID::token1']/*"/>	
        /// <unmanaged>unsigned longlong token1</unmanaged>	
        /// <unmanaged-short>unsigned longlong token1</unmanaged-short>	
        public long Token1;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_TYPEID::token2']/*"/>	
        /// <unmanaged>unsigned longlong token2</unmanaged>	
        /// <unmanaged-short>unsigned longlong token2</unmanaged-short>	
        public long Token2;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_TYPE_LAYOUT']/*"/>	
    /// <unmanaged>COR_TYPE_LAYOUT</unmanaged>	
    /// <unmanaged-short>COR_TYPE_LAYOUT</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorTypeLayout {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_TYPE_LAYOUT::parentID']/*"/>	
        /// <unmanaged>COR_TYPEID parentID</unmanaged>	
        /// <unmanaged-short>COR_TYPEID parentID</unmanaged-short>	
        public CorApi.Portable.CorTypeid ParentID;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_TYPE_LAYOUT::objectSize']/*"/>	
        /// <unmanaged>unsigned int objectSize</unmanaged>	
        /// <unmanaged-short>unsigned int objectSize</unmanaged-short>	
        public int ObjectSize;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_TYPE_LAYOUT::numFields']/*"/>	
        /// <unmanaged>unsigned int numFields</unmanaged>	
        /// <unmanaged-short>unsigned int numFields</unmanaged-short>	
        public int NumFields;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_TYPE_LAYOUT::boxOffset']/*"/>	
        /// <unmanaged>unsigned int boxOffset</unmanaged>	
        /// <unmanaged-short>unsigned int boxOffset</unmanaged-short>	
        public int BoxOffset;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_TYPE_LAYOUT::type']/*"/>	
        /// <unmanaged>CorElementType type</unmanaged>	
        /// <unmanaged-short>CorElementType type</unmanaged-short>	
        public CorApi.Portable.CorElementType Type;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_VERSION']/*"/>	
    /// <unmanaged>COR_VERSION</unmanaged>	
    /// <unmanaged-short>COR_VERSION</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CorVersion {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_VERSION::dwMajor']/*"/>	
        /// <unmanaged>unsigned int dwMajor</unmanaged>	
        /// <unmanaged-short>unsigned int dwMajor</unmanaged-short>	
        public int DwMajor;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_VERSION::dwMinor']/*"/>	
        /// <unmanaged>unsigned int dwMinor</unmanaged>	
        /// <unmanaged-short>unsigned int dwMinor</unmanaged-short>	
        public int DwMinor;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_VERSION::dwBuild']/*"/>	
        /// <unmanaged>unsigned int dwBuild</unmanaged>	
        /// <unmanaged-short>unsigned int dwBuild</unmanaged-short>	
        public int DwBuild;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='COR_VERSION::dwSubBuild']/*"/>	
        /// <unmanaged>unsigned int dwSubBuild</unmanaged>	
        /// <unmanaged-short>unsigned int dwSubBuild</unmanaged-short>	
        public int DwSubBuild;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CVStruct']/*"/>	
    /// <unmanaged>CVStruct</unmanaged>	
    /// <unmanaged-short>CVStruct</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CVStruct {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CVStruct::Major']/*"/>	
        /// <unmanaged>short Major</unmanaged>	
        /// <unmanaged-short>short Major</unmanaged-short>	
        public short Major;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CVStruct::Minor']/*"/>	
        /// <unmanaged>short Minor</unmanaged>	
        /// <unmanaged-short>short Minor</unmanaged-short>	
        public short Minor;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CVStruct::Sub']/*"/>	
        /// <unmanaged>short Sub</unmanaged>	
        /// <unmanaged-short>short Sub</unmanaged-short>	
        public short Sub;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='CVStruct::Build']/*"/>	
        /// <unmanaged>short Build</unmanaged>	
        /// <unmanaged-short>short Build</unmanaged-short>	
        public short Build;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD']/*"/>	
    /// <unmanaged>IMAGE_COR_ILMETHOD</unmanaged>	
    /// <unmanaged-short>IMAGE_COR_ILMETHOD</unmanaged-short>	
    [StructLayout(LayoutKind.Explicit)]
    public  partial struct ImageCorIlmethod {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD::Tiny']/*"/>	
        /// <unmanaged>IMAGE_COR_ILMETHOD_TINY Tiny</unmanaged>	
        /// <unmanaged-short>IMAGE_COR_ILMETHOD_TINY Tiny</unmanaged-short>	
        [FieldOffset(0)]
        public CorApi.Portable.ImageCorIlmethodTiny Tiny;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD::Fat']/*"/>	
        /// <unmanaged>IMAGE_COR_ILMETHOD_FAT Fat</unmanaged>	
        /// <unmanaged-short>IMAGE_COR_ILMETHOD_FAT Fat</unmanaged-short>	
        [FieldOffset(0)]
        public CorApi.Portable.ImageCorIlmethodFat Fat;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_FAT']/*"/>	
    /// <unmanaged>IMAGE_COR_ILMETHOD_FAT</unmanaged>	
    /// <unmanaged-short>IMAGE_COR_ILMETHOD_FAT</unmanaged-short>	
    [StructLayout(LayoutKind.Explicit)]
    public  partial struct ImageCorIlmethodFat {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_FAT::Flags']/*"/>	
        /// <unmanaged>unsigned int Flags</unmanaged>	
        /// <unmanaged-short>unsigned int Flags</unmanaged-short>	
        public int  Flags { 
            get { 
                return (int)((_Flags >> 0)  &  4095);
            }
            set { 
                _Flags = (int)((_Flags & ~( 4095 << 0)) | ( (value & 4095) << 0));
            }
        }
        [FieldOffset(0)]
        internal int _Flags;
		
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_FAT::Size']/*"/>	
        /// <unmanaged>unsigned int Size</unmanaged>	
        /// <unmanaged-short>unsigned int Size</unmanaged-short>	
        public int  Size { 
            get { 
                return (int)((_Size >> 12)  &  15);
            }
            set { 
                _Size = (int)((_Size & ~( 15 << 12)) | ( (value & 15) << 12));
            }
        }
        [FieldOffset(0)]
        internal int _Size;
		
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_FAT::MaxStack']/*"/>	
        /// <unmanaged>unsigned int MaxStack</unmanaged>	
        /// <unmanaged-short>unsigned int MaxStack</unmanaged-short>	
        public int  MaxStack { 
            get { 
                return (int)((_MaxStack >> 16)  &  65535);
            }
            set { 
                _MaxStack = (int)((_MaxStack & ~( 65535 << 16)) | ( (value & 65535) << 16));
            }
        }
        [FieldOffset(0)]
        internal int _MaxStack;
		
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_FAT::CodeSize']/*"/>	
        /// <unmanaged>unsigned int CodeSize</unmanaged>	
        /// <unmanaged-short>unsigned int CodeSize</unmanaged-short>	
        [FieldOffset(0)]
        public int CodeSize;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_FAT::LocalVarSigTok']/*"/>	
        /// <unmanaged>unsigned int LocalVarSigTok</unmanaged>	
        /// <unmanaged-short>unsigned int LocalVarSigTok</unmanaged-short>	
        [FieldOffset(4)]
        public int LocalVarSigTok;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH']/*"/>	
    /// <unmanaged>IMAGE_COR_ILMETHOD_SECT_EH</unmanaged>	
    /// <unmanaged-short>IMAGE_COR_ILMETHOD_SECT_EH</unmanaged-short>	
    public  partial struct ImageCorIlmethodSectEh {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH::Small']/*"/>	
        /// <unmanaged>IMAGE_COR_ILMETHOD_SECT_EH_SMALL Small</unmanaged>	
        /// <unmanaged-short>IMAGE_COR_ILMETHOD_SECT_EH_SMALL Small</unmanaged-short>	
        public CorApi.Portable.ImageCorIlmethodSectEhSmall Small;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH::Fat']/*"/>	
        /// <unmanaged>IMAGE_COR_ILMETHOD_SECT_EH_FAT Fat</unmanaged>	
        /// <unmanaged-short>IMAGE_COR_ILMETHOD_SECT_EH_FAT Fat</unmanaged-short>	
        public CorApi.Portable.ImageCorIlmethodSectEhFat Fat;

        // Internal native struct used for marshalling
        [StructLayout(LayoutKind.Explicit)]
        internal partial struct __Native {	
            [FieldOffset(0)]
            public CorApi.Portable.ImageCorIlmethodSectEhSmall.__Native Small;
            [FieldOffset(0)]
            public CorApi.Portable.ImageCorIlmethodSectEhFat.__Native Fat;
		    // Method to free unmanaged allocation
            internal unsafe void __MarshalFree()
            {   
                this.Small.__MarshalFree();
                this.Fat.__MarshalFree();
            }
        }
		
		// Method to free unmanaged allocation
        internal unsafe void __MarshalFree(ref __Native @ref)
        {   
            @ref.__MarshalFree();
        }
		
		// Method to marshal from native to managed struct
        internal unsafe void __MarshalFrom(ref __Native @ref)
        {            
            this.Small = new CorApi.Portable.ImageCorIlmethodSectEhSmall();
			this.Small.__MarshalFrom(ref @ref.Small);
            this.Fat = new CorApi.Portable.ImageCorIlmethodSectEhFat();
			this.Fat.__MarshalFrom(ref @ref.Fat);
        }
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_FAT']/*"/>	
    /// <unmanaged>IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_FAT</unmanaged>	
    /// <unmanaged-short>IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_FAT</unmanaged-short>	
    [StructLayout(LayoutKind.Explicit)]
    public  partial struct ImageCorIlmethodSectEhClauseFat {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_FAT::Flags']/*"/>	
        /// <unmanaged>CorExceptionFlag Flags</unmanaged>	
        /// <unmanaged-short>CorExceptionFlag Flags</unmanaged-short>	
        [FieldOffset(0)]
        public CorApi.Portable.CorExceptionFlag Flags;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_FAT::TryOffset']/*"/>	
        /// <unmanaged>unsigned int TryOffset</unmanaged>	
        /// <unmanaged-short>unsigned int TryOffset</unmanaged-short>	
        [FieldOffset(4)]
        public int TryOffset;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_FAT::TryLength']/*"/>	
        /// <unmanaged>unsigned int TryLength</unmanaged>	
        /// <unmanaged-short>unsigned int TryLength</unmanaged-short>	
        [FieldOffset(8)]
        public int TryLength;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_FAT::HandlerOffset']/*"/>	
        /// <unmanaged>unsigned int HandlerOffset</unmanaged>	
        /// <unmanaged-short>unsigned int HandlerOffset</unmanaged-short>	
        [FieldOffset(12)]
        public int HandlerOffset;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_FAT::HandlerLength']/*"/>	
        /// <unmanaged>unsigned int HandlerLength</unmanaged>	
        /// <unmanaged-short>unsigned int HandlerLength</unmanaged-short>	
        [FieldOffset(16)]
        public int HandlerLength;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_FAT::ClassToken']/*"/>	
        /// <unmanaged>unsigned int ClassToken</unmanaged>	
        /// <unmanaged-short>unsigned int ClassToken</unmanaged-short>	
        [FieldOffset(20)]
        public int ClassToken;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_FAT::FilterOffset']/*"/>	
        /// <unmanaged>unsigned int FilterOffset</unmanaged>	
        /// <unmanaged-short>unsigned int FilterOffset</unmanaged-short>	
        [FieldOffset(20)]
        public int FilterOffset;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_SMALL']/*"/>	
    /// <unmanaged>IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_SMALL</unmanaged>	
    /// <unmanaged-short>IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_SMALL</unmanaged-short>	
    [StructLayout(LayoutKind.Explicit)]
    public  partial struct ImageCorIlmethodSectEhClauseSmall {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_SMALL::Flags']/*"/>	
        /// <unmanaged>CorExceptionFlag Flags</unmanaged>	
        /// <unmanaged-short>CorExceptionFlag Flags</unmanaged-short>	
        public CorApi.Portable.CorExceptionFlag  Flags { 
            get { 
                return (CorApi.Portable.CorExceptionFlag)(((int)_Flags >> 0)  &  65535);
            }
            set { 
                _Flags = (CorApi.Portable.CorExceptionFlag)(((int)_Flags & ~( 65535 << 0)) | ( ((int)value & 65535) << 0));
            }
        }
        [FieldOffset(0)]
        internal CorApi.Portable.CorExceptionFlag _Flags;
		
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_SMALL::TryOffset']/*"/>	
        /// <unmanaged>unsigned int TryOffset</unmanaged>	
        /// <unmanaged-short>unsigned int TryOffset</unmanaged-short>	
        public int  TryOffset { 
            get { 
                return (int)((_TryOffset >> 16)  &  65535);
            }
            set { 
                _TryOffset = (int)((_TryOffset & ~( 65535 << 16)) | ( (value & 65535) << 16));
            }
        }
        [FieldOffset(0)]
        internal int _TryOffset;
		
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_SMALL::TryLength']/*"/>	
        /// <unmanaged>unsigned int TryLength</unmanaged>	
        /// <unmanaged-short>unsigned int TryLength</unmanaged-short>	
        public int  TryLength { 
            get { 
                return (int)((_TryLength >> 32)  &  255);
            }
            set { 
                _TryLength = (int)((_TryLength & ~( 255 << 32)) | ( (value & 255) << 32));
            }
        }
        [FieldOffset(0)]
        internal int _TryLength;
		
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_SMALL::HandlerOffset']/*"/>	
        /// <unmanaged>unsigned int HandlerOffset</unmanaged>	
        /// <unmanaged-short>unsigned int HandlerOffset</unmanaged-short>	
        public int  HandlerOffset { 
            get { 
                return (int)((_HandlerOffset >> 40)  &  65535);
            }
            set { 
                _HandlerOffset = (int)((_HandlerOffset & ~( 65535 << 40)) | ( (value & 65535) << 40));
            }
        }
        [FieldOffset(0)]
        internal int _HandlerOffset;
		
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_SMALL::HandlerLength']/*"/>	
        /// <unmanaged>unsigned int HandlerLength</unmanaged>	
        /// <unmanaged-short>unsigned int HandlerLength</unmanaged-short>	
        public int  HandlerLength { 
            get { 
                return (int)((_HandlerLength >> 56)  &  255);
            }
            set { 
                _HandlerLength = (int)((_HandlerLength & ~( 255 << 56)) | ( (value & 255) << 56));
            }
        }
        [FieldOffset(0)]
        internal int _HandlerLength;
		
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_SMALL::ClassToken']/*"/>	
        /// <unmanaged>unsigned int ClassToken</unmanaged>	
        /// <unmanaged-short>unsigned int ClassToken</unmanaged-short>	
        [FieldOffset(0)]
        public int ClassToken;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_SMALL::FilterOffset']/*"/>	
        /// <unmanaged>unsigned int FilterOffset</unmanaged>	
        /// <unmanaged-short>unsigned int FilterOffset</unmanaged-short>	
        [FieldOffset(0)]
        public int FilterOffset;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_FAT']/*"/>	
    /// <unmanaged>IMAGE_COR_ILMETHOD_SECT_EH_FAT</unmanaged>	
    /// <unmanaged-short>IMAGE_COR_ILMETHOD_SECT_EH_FAT</unmanaged-short>	
    public  partial struct ImageCorIlmethodSectEhFat {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_FAT::SectFat']/*"/>	
        /// <unmanaged>IMAGE_COR_ILMETHOD_SECT_FAT SectFat</unmanaged>	
        /// <unmanaged-short>IMAGE_COR_ILMETHOD_SECT_FAT SectFat</unmanaged-short>	
        public CorApi.Portable.ImageCorIlmethodSectFat SectFat;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_FAT::Clauses']/*"/>	
        /// <unmanaged>IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_FAT Clauses[1]</unmanaged>	
        /// <unmanaged-short>IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_FAT Clauses</unmanaged-short>	
        public CorApi.Portable.ImageCorIlmethodSectEhClauseFat[] Clauses { 
            get { return _Clauses ?? (_Clauses = new CorApi.Portable.ImageCorIlmethodSectEhClauseFat[1]);}
        }
        internal CorApi.Portable.ImageCorIlmethodSectEhClauseFat[] _Clauses;

        // Internal native struct used for marshalling
        [StructLayout(LayoutKind.Sequential)]
        internal partial struct __Native {	
            public CorApi.Portable.ImageCorIlmethodSectFat SectFat;
            public CorApi.Portable.ImageCorIlmethodSectEhClauseFat Clauses;
		    // Method to free unmanaged allocation
            internal unsafe void __MarshalFree()
            {   
            }
        }
		
		// Method to free unmanaged allocation
        internal unsafe void __MarshalFree(ref __Native @ref)
        {   
            @ref.__MarshalFree();
        }
		
		// Method to marshal from native to managed struct
        internal unsafe void __MarshalFrom(ref __Native @ref)
        {            
            this.SectFat = @ref.SectFat;
            fixed (void* __to = &this.Clauses[0]) fixed (void* __from = &@ref.Clauses) Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 1*sizeof ( CorApi.Portable.ImageCorIlmethodSectEhClauseFat));
        }
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_SMALL']/*"/>	
    /// <unmanaged>IMAGE_COR_ILMETHOD_SECT_EH_SMALL</unmanaged>	
    /// <unmanaged-short>IMAGE_COR_ILMETHOD_SECT_EH_SMALL</unmanaged-short>	
    public  partial struct ImageCorIlmethodSectEhSmall {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_SMALL::SectSmall']/*"/>	
        /// <unmanaged>IMAGE_COR_ILMETHOD_SECT_SMALL SectSmall</unmanaged>	
        /// <unmanaged-short>IMAGE_COR_ILMETHOD_SECT_SMALL SectSmall</unmanaged-short>	
        public CorApi.Portable.ImageCorIlmethodSectSmall SectSmall;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_SMALL::Reserved']/*"/>	
        /// <unmanaged>unsigned short Reserved</unmanaged>	
        /// <unmanaged-short>unsigned short Reserved</unmanaged-short>	
        public short Reserved;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_EH_SMALL::Clauses']/*"/>	
        /// <unmanaged>IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_SMALL Clauses[1]</unmanaged>	
        /// <unmanaged-short>IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_SMALL Clauses</unmanaged-short>	
        public CorApi.Portable.ImageCorIlmethodSectEhClauseSmall[] Clauses { 
            get { return _Clauses ?? (_Clauses = new CorApi.Portable.ImageCorIlmethodSectEhClauseSmall[1]);}
        }
        internal CorApi.Portable.ImageCorIlmethodSectEhClauseSmall[] _Clauses;

        // Internal native struct used for marshalling
        [StructLayout(LayoutKind.Sequential)]
        internal partial struct __Native {	
            public CorApi.Portable.ImageCorIlmethodSectSmall SectSmall;
            public short Reserved;
            public CorApi.Portable.ImageCorIlmethodSectEhClauseSmall Clauses;
		    // Method to free unmanaged allocation
            internal unsafe void __MarshalFree()
            {   
            }
        }
		
		// Method to free unmanaged allocation
        internal unsafe void __MarshalFree(ref __Native @ref)
        {   
            @ref.__MarshalFree();
        }
		
		// Method to marshal from native to managed struct
        internal unsafe void __MarshalFrom(ref __Native @ref)
        {            
            this.SectSmall = @ref.SectSmall;
            this.Reserved = @ref.Reserved;
            fixed (void* __to = &this.Clauses[0]) fixed (void* __from = &@ref.Clauses) Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 1*sizeof ( CorApi.Portable.ImageCorIlmethodSectEhClauseSmall));
        }
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_FAT']/*"/>	
    /// <unmanaged>IMAGE_COR_ILMETHOD_SECT_FAT</unmanaged>	
    /// <unmanaged-short>IMAGE_COR_ILMETHOD_SECT_FAT</unmanaged-short>	
    [StructLayout(LayoutKind.Explicit)]
    public  partial struct ImageCorIlmethodSectFat {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_FAT::Kind']/*"/>	
        /// <unmanaged>unsigned int Kind</unmanaged>	
        /// <unmanaged-short>unsigned int Kind</unmanaged-short>	
        public int  Kind { 
            get { 
                return (int)((_Kind >> 0)  &  255);
            }
            set { 
                _Kind = (int)((_Kind & ~( 255 << 0)) | ( (value & 255) << 0));
            }
        }
        [FieldOffset(0)]
        internal int _Kind;
		
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_FAT::DataSize']/*"/>	
        /// <unmanaged>unsigned int DataSize</unmanaged>	
        /// <unmanaged-short>unsigned int DataSize</unmanaged-short>	
        public int  DataSize { 
            get { 
                return (int)((_DataSize >> 8)  &  16777215);
            }
            set { 
                _DataSize = (int)((_DataSize & ~( 16777215 << 8)) | ( (value & 16777215) << 8));
            }
        }
        [FieldOffset(0)]
        internal int _DataSize;
		
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_SMALL']/*"/>	
    /// <unmanaged>IMAGE_COR_ILMETHOD_SECT_SMALL</unmanaged>	
    /// <unmanaged-short>IMAGE_COR_ILMETHOD_SECT_SMALL</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct ImageCorIlmethodSectSmall {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_SMALL::Kind']/*"/>	
        /// <unmanaged>unsigned char Kind</unmanaged>	
        /// <unmanaged-short>unsigned char Kind</unmanaged-short>	
        public byte Kind;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_SECT_SMALL::DataSize']/*"/>	
        /// <unmanaged>unsigned char DataSize</unmanaged>	
        /// <unmanaged-short>unsigned char DataSize</unmanaged-short>	
        public byte DataSize;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_TINY']/*"/>	
    /// <unmanaged>IMAGE_COR_ILMETHOD_TINY</unmanaged>	
    /// <unmanaged-short>IMAGE_COR_ILMETHOD_TINY</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct ImageCorIlmethodTiny {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_ILMETHOD_TINY::Flags_CodeSize']/*"/>	
        /// <unmanaged>unsigned char Flags_CodeSize</unmanaged>	
        /// <unmanaged-short>unsigned char Flags_CodeSize</unmanaged-short>	
        public byte FlagsCodeSize;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_VTABLEFIXUP']/*"/>	
    /// <unmanaged>IMAGE_COR_VTABLEFIXUP</unmanaged>	
    /// <unmanaged-short>IMAGE_COR_VTABLEFIXUP</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct ImageCorVtablefixup {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_VTABLEFIXUP::RVA']/*"/>	
        /// <unmanaged>unsigned int RVA</unmanaged>	
        /// <unmanaged-short>unsigned int RVA</unmanaged-short>	
        public int Rva;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_VTABLEFIXUP::Count']/*"/>	
        /// <unmanaged>unsigned short Count</unmanaged>	
        /// <unmanaged-short>unsigned short Count</unmanaged-short>	
        public short Count;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IMAGE_COR_VTABLEFIXUP::Type']/*"/>	
        /// <unmanaged>unsigned short Type</unmanaged>	
        /// <unmanaged-short>unsigned short Type</unmanaged-short>	
        public short Type;
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='OSINFO']/*"/>	
    /// <unmanaged>OSINFO</unmanaged>	
    /// <unmanaged-short>OSINFO</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct Osinfo {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='OSINFO::dwOSPlatformId']/*"/>	
        /// <unmanaged>unsigned int dwOSPlatformId</unmanaged>	
        /// <unmanaged-short>unsigned int dwOSPlatformId</unmanaged-short>	
        public int DwOSPlatformId;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='OSINFO::dwOSMajorVersion']/*"/>	
        /// <unmanaged>unsigned int dwOSMajorVersion</unmanaged>	
        /// <unmanaged-short>unsigned int dwOSMajorVersion</unmanaged-short>	
        public int DwOSMajorVersion;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='OSINFO::dwOSMinorVersion']/*"/>	
        /// <unmanaged>unsigned int dwOSMinorVersion</unmanaged>	
        /// <unmanaged-short>unsigned int dwOSMinorVersion</unmanaged-short>	
        public int DwOSMinorVersion;
    }
}
#endif
